package com.chy.blog_web.core.util;

import com.chy.blog_web.modular.web.entity.BoSpaceUser;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;

/**
 * 描述：封装session，保存、获取、更新当前登录的用户对象（空间用户）
 * 作者：chenhuiyan
 * 时间：2019/9/28 16:40
 */
public class SpaceUserUtil {

//    // 获取一个session对象
//    private static HttpSession session = getSession();
//
//    /**
//     * user在session中的名字，也就是键值对的键。
//     */
//    public static final String USER_NAME_IN_SESSION = "loginUser";
//
//    /**
//     * 获取session 的方法
//     *
//     * @return HttpSession
//     */
//    public static HttpSession getSession() {
//        session = null;
//        try {
//            session = getRequest().getSession();
//            session.setMaxInactiveInterval(5 * 24 * 60 * 60); //session失效时间
//        } catch (Exception e) {
//        }
//        return session;
//    }
//
//    /**
//     * 获取一个request对象的方法
//     *
//     * @return HttpServletRequest
//     */
//    public static HttpServletRequest getRequest() {
//        ServletRequestAttributes attrs = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
//        return (HttpServletRequest) attrs.getRequest();
//    }
//
//    /**
//     * 从session中获取到当前用户
//     *
//     * @return
//     */
//    public static BoSpaceUser getUserFromSession() {
//        return (BoSpaceUser) session.getAttribute(USER_NAME_IN_SESSION);
//    }
//
//    /**
//     * 更新Session中的user
//     *
//     * @return
//     */
//    public static BoSpaceUser updateUserInSession(BoSpaceUser user) {
//        // 直接放入user，顶替掉原来session中的user
//        return putUserIntoSession(user);
//    }
//
//    /**
//     * 将user放入Session对象中
//     *
//     * @param user 用户
//     * @return
//     */
//    public static BoSpaceUser putUserIntoSession(BoSpaceUser user) {
//        session.setAttribute(USER_NAME_IN_SESSION, user);
//        return getUserFromSession();
//    }
//
//    /**
//     * 清除user
//     */
//    public static boolean removeUserIntoSession(){
//        session.removeAttribute(USER_NAME_IN_SESSION);
//        return true;
//    }

}
